package icu.shaoyayu.common.utll.exception;

/**
 * @author shaoyayu
 * 错误信息响应枚举
 */
public enum CustomExceptionType {
    /*
    *
    300：请求成功，但结果有多种选择。
    301：请求成功，但是资源被永久转移。比如说，我们下载的东西不在这个地址需要去到新的地址。
    303：使用 GET 来访问新的地址来获取资源。
    304：请求的资源并没有被修改过。
    308：使用原有的地址请求方式来通过新地址获取资源。
    400：请求出现错误，比如请求头不对等。
    401：没有提供认证信息。请求的时候没有带上 Token 等。
    402：为以后需要所保留的状态码。
    403：请求的资源不允许访问。就是说没有权限。
    404：请求的内容不存在。
    406：请求的资源并不符合要求。
    408：客户端请求超时。
    413：请求体过大。
    415：类型不正确。
    416：请求的区间无效。
    500：服务器错误。
    501：请求还没有被实现。
    502：网关错误。
    503：服务暂时不可用。服务器正好在更新代码重启。
    505：请求的 HTTP 版本不支持。
    * */

    MULTIPLE_OPTIONS_ERROR(300,"请求成功，但结果有多种选择"),
    REDIRECT_ERROR(301,"请求成功，但结果有多种选择"),
    WRONG_ACCESS_MODE(303,"资源访问方式错误"),
    ILLEGAL_REQUEST_ERROR(400,"非法的请求"),
    AUTHORITY_AUTHENTICATION_ERROR(401,"权限认证不通过"),
    NO_OPERATION_AUTHORITY_ERROR(403,"无访问权限"),
    RESOURCES_ARE_NOT_OPEN_ERROR(404,"访问资源不存在"),
    REQUEST_ERROR(406,"请求不合法"),
    THE_SERVER_ERROR(500,"服务器异常"),
    GATEWAY_ERROR(502,"网关错误"),
    SERVICE_SUSPENSION_ERROR(503,"服务暂停"),
    SERVICE_FUSE(504,"远程调用熔断"),
    USER_INPUT_ERROR(400, "你的输入有错误!"),
    SYSTEM_ERROR(500, "系统出现异常!"),
    OTHER_ERROR(999, "系统出现未知异常!");

    /**
     * 错误内容
     * Error content
     */
    private String desc;

    /**
     * 错误响应码
     * Error response code
     */
    private Integer code;

    CustomExceptionType(Integer code, String desc) {
        this.desc = desc;
        this.code = code;
    }

    public String getDesc() {
        return desc;
    }

    public Integer getCode() {
        return code;
    }


}
